/*
Copyright (C) 2021-2025 Casa Xu (also Zhiyan Xu) from HIT

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

/*
 * LOS_SYS.h
 *
 *  Created on: 2022年6月20日
 *      Author: 64435
 */

#ifndef HARDWARE_LAYER_INC_LOS_SYS_H_
#define HARDWARE_LAYER_INC_LOS_SYS_H_


#include <LOS_WDT.h>
#include "LOS_CAN.h"
#include "LOS_I2C.h"
#include "LOS_SPI.h"
#include "LOS_UART.h"
#include "LOS_MAX14830.h"
#include "LOS_W25Q64.h"
#include "LOS_OSAPI.h"
#include "LOS_GPIO.h"
#include "HL_gio.h"
#include "HL_het.h"
#include "HL_mibspi.h"
#include "LOS_DataTran.h"
#include "LOS_GNSS.h"
#include "LOS_NaviEnhance.h"
#include "LOS_SD.h"
#include "LOS_FATFS.h"
#include "LOS_StarSensor.h"
#include "LOS_YH50.h"
#include "LOS_RealTime.h"
#include "LOS_FLASH.h"
#include "svc.h"
#include "LOS_TMTC.h"
#include "LOS_SATA.h"
#include "LOS_FlyWheel.h"
#include "LOS_RealTime.h"
#include "LOS_FlightProcedure.h"
#include "LOS_EPSCtrl.h"
#include "LOS_SunSensor.h"
#include "LOS_MagMe.h"
#include "LOS_CMOS.h"
#include "LOS_TCCMD.h"
#include "LOS_PWM.h"
#include "LOS_MagTrq.h"
#include "LOS_DEBUG.h"
#include "LOS_State.h"
#include "LOS_MEMS.h"
#include "LOS_FotonAmur.h"
#include "LOS_CIOMPCam.h"
#include "LOS_SpaceTime.h"
#include "AttMainFunction.h"
#include "LOS_TM.h"
#include "LOS_TC.h"

#include "rs.h"
#include "LOS_FVAR.h"

extern LOS_Tick_t aocsentertime;
extern LOS_Tick_t aocsexittime;
extern LOS_Tick_t aocstotaltime;

extern uint16_t mems_result[5];

#define FLASH0_START_ADDRESS  (0x00000000)
#define FLASH1_START_ADDRESS  (0x00200000)

void LOS_SYS_Init(void);
void LOS_EnterAdminMode();
void LOS_ExitAdminMode();
void LOS_SelfCheck(void);
void LOS_STA_Init(void);
void LOS_AOCS_ForceFailNorm(uint8_t nID, uint8_t sta);




#endif /* HARDWARE_LAYER_INC_LOS_SYS_H_ */
